package gov.fgn.sijyp.general.util;

import gov.fgn.sijyp.bienes.data.TipoDocumento;

import org.richfaces.event.FileUploadEvent;

/**
 * Clase abstracta para el manejo de carga de archivos en la
 * aplicacion Globant OIM-Recursos en mision
 * 
 * @author jorge.ramirez
 * @since 13/07/2012
 */
public abstract class FileUploadManager {

  private boolean edicion;
  private boolean consulta;

  private TipoDocumento tipoDocumento;
  private String descripcion;

  public FileUploadManager() {
    // TODO Auto-generated constructor stub
  }

  public boolean isEdicion() {
    return edicion;
  }

  public void setEdicion(boolean edicion) {
    this.edicion = edicion;
  }

  public boolean isConsulta() {
    return consulta;
  }

  public void setConsulta(boolean consulta) {
    this.consulta = consulta;
  }

  public TipoDocumento getTipoDocumento() {
    return tipoDocumento;
  }

  public void setTipoDocumento(TipoDocumento tipoDocumento) {
    this.tipoDocumento = tipoDocumento;
  }

  public String getDescripcion() {
    return descripcion;
  }

  public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
  }

  /**
   * Metodo para la seleccion de un documento de la lista y
   * modificarlo
   */
  public abstract void modificarDocumento();

  /**
   * Metodo para la cancelacion de la accion seleccionada
   */
  public abstract void cancelarAccion();

  /**
   * Metodo para eliminar el documento seleccionado de la lista
   */
  public abstract void eliminarDocumento();

  /**
   * Metodo para la implemetacion de la carga de el archivo
   */
  public abstract void listener(FileUploadEvent event) throws Exception;

}
